1. Field of the Invention
The present embodiments relate to methods, systems, and programs for virtualizing Non-Volatile Random Access Memory (NVRAM).
2. Description of the Related Art
Non-Volatile Random Access Memory (NVRAM) is memory that can retrieve stored information even after having been power-cycled. Some NVRAMs include regular volatile RAM memories that are connected to a power supply independent from the computer's power supply, such that the content of the RAM is not lost when the computer device with the RAM is powered off.
Virtualization refers to the act of creating a virtual (rather than actual) version of something, including a virtual computer hardware platform, operating system, storage device, or computer network resources. However, virtualizing NVRAM without actually using NVRAM memory is a challenging task due to the non-volatile nature of the NVRAM.
For example, if NVRAM is virtualized using RAM memory, when the computer device is powered off, the RAM memory will lose its contents, which would be contrary to the nature of NVRAM. If NVRAM is virtualized by creating an area in permanent disk, the contents would not be lost during a power cycle. However, the speed of access to the memory would be too slow, rendering the system using the virtual NVRAM almost useless, at least performance wise.
What is needed is a virtual NVRAM, implemented without the use of an actual NVRAM memory, that performs like an NVRAM (e.g., speed of access) and that can also retain its contents during a power cycle.
It is in this context that embodiments arise.